在完成 LAMP server 架設以及 MySQL 設置之後,接下來就要著手準備 Laravel 的開發環境。
在能夠成功開啟一個 Laravel 專案之前,我們必須要下載一個 php 的套件管理器,名為 Composer。首先我們進入 Composer 的 官網,然後點選 Download。
進入頁面後,文章內會指示在終端機鍵入以下指令
$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'a5c698ffe4b8e849a443b120cd5ba38043260d5c4023dbf93e1558871f1f07f58274fc6f4c93bcfd858c6bd0775cd8d1') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
其中第 2 行的 sha384 以及後面的加密字串則會隨著版本的不同而有所變化,不過文件中指示我們複製的指令通常會以最新版的為標準,所以最好就是將文件提供的指令複製下來。
下載完之後並沒有結束,因為還沒有將 composer 的環境設為全域,因此在終端機輸入 composer 之後反而是顯示找不到指令。
以自己為例,我是在家目錄下載 composer,完成之後會有一個 composer.phar 檔案
而輸入 composer 卻顯示 command not found
<p.s.> $ php composer.phar
則能夠跑出結果,但這並非我們想要運行的方式。
所以尚須執行以下指令使其能夠被全域使用:$ sudo mv composer.phar /usr/local/bin/composer
之後輸入 composer 就可以看到結果。
透過 composer 新增專案:
在下載完 Composer 之後,其實就可以直接新增專案了,首先移動到 apache 的根目錄:
$ cd /var/www/html
然後輸入以下指令:
$ composer create-project --prefer-dist laravel/laravel blog
這時有可能會出現 permission denied 的錯誤,然後 composer 也不能夠用 sudo 的方式運行。因為實際上新增專案等於是新增一個資料夾,而所在的檔案位置可能需要有權限才能夠對檔案做處理。
解決方法如下:
$ cd /var/www
$ sudo chown -Rv root:$USER .
$ sudo chmod -Rv g+rw .
$ cd html
$ composer create-project --prefer-dist laravel/laravel blog
此時就可以正常新增 Laravel 專案 ( 第一次需要花一段時間安裝 )
<p.s.>若遇到 Cannot create cache directory .. or directory is not writable. Proceeding without cache in Laravel,輸入以下指令可以將上述警告訊息排除:
$ sudo chown -R $USER /home/$USER/.composer
透過 laravel installer 新增專案
雖然可以直接透過 composer 新增 laravel 專案,但是指令顯得有些冗長,讓使用者不容易記住,而 laravel installer 則可以省去很多指令而且比較直覺。透過 composer 下載 laravel installer :
$ composer global require laravel/installer
但下載完成後輸入 $ laravel new blog
卻出現無此指令的情形 :
必須將 composer system-wide vendor bin 資料夾納入環境變數裡,對於 Ubuntu 18.04 的版本而言,指令如下
$ echo 'export PATH="$PATH:$HOME/.composer/vendor/bin"' >> ~/.bashrc
接著執行 ~/.bashrc 檔
$ source ~/.bashrc
最後輸入 $ laravel
就可以看到結果,也就是說可以透過 laravel installer 新增專案。
在能夠新增 laravel 專案之後,我們可以用兩種方式在瀏覽器打開
在專安資料夾的位置下用 php artisan 開一個伺服器
$ php artisan serve
<p.s.> localhost 的 address 不一定都一樣是 127.0.0.1
之後在瀏覽器輸入 localhost:8000
即可看到 laravel 專案的首頁
(optional) 將專案新增在 apache 的根目錄 /var/www/html
,之後在瀏覽器輸入 localhost/專案名稱/public
,但用此方式會衍伸很多權限、uri routes、http request method、... 等問題,為了避免夜長夢多,因此在這次的主題都會用第1種方式。
成功開啟 Laravel 專案之後,接下來就可以進入這次主題的核心了。
參考網站: